package com.rybbaby.tss.front.tssAppMsgNotice.entity;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;

/**
 * @description 公告表
 * 
 * @author zhangligang
 * 
 * @createDate 2017-12-27 下午2:05:53
 */
@Entity
@Table(name = "tss_app_msg_notice")
@DynamicUpdate(true)
@DynamicInsert(true)
public class TssAppMsgNotice implements Serializable {
	
	private static final long serialVersionUID = 80163488251941L;
	
	/** 主键 **/
	private String id;
	/** 公告标题 **/
	private String title;
	/** 公告内容 **/
	private String content;
	/** 创建时间 **/
	private java.sql.Timestamp createTime;
	/** 修改时间 **/
	private java.sql.Timestamp updateTime;
	/** 1 未发布 2已发布 **/
	private Integer issue;
	/** 创建人 **/
	private String adminUserId;
	/** 接收对象 (1家长, 2员工3 全部) **/
	private Integer acceptObject;
	/** 版本 **/
	private Integer version;

	/**
	 * 方法: 取得主键
	 *
	 * @return java.lang.String 主键
	 */
	@Id
	@GeneratedValue(generator = "tss_app_msg_noticeIDGenerator" , strategy = GenerationType.AUTO)
	@GenericGenerator(name = "tss_app_msg_noticeIDGenerator" , strategy = "uuid")
	@Column(name = "id", nullable= false, length = 32)
	public String getId() {
		return this.id;
	}

	/**
	 * 方法: 设置主键
	 *
	 * @param id 主键
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 方法: 取得公告标题
	 *
	 * @return java.lang.String 公告标题
	 */
	@Column(name = "title", nullable= true, length = 100)
	public String getTitle() {
		return this.title;
	}

	/**
	 * 方法: 设置公告标题
	 *
	 * @param title 公告标题
	 */
	public void setTitle(String title) {
		this.title = title;
	}

	/**
	 * 方法: 取得公告内容
	 *
	 * @return java.lang.String 公告内容
	 */
	@Column(name = "content", nullable= true, length = 715827882)
	public String getContent() {
		return this.content;
	}

	/**
	 * 方法: 设置公告内容
	 *
	 * @param content 公告内容
	 */
	public void setContent(String content) {
		this.content = content;
	}

	/**
	 * 方法: 取得创建时间
	 *
	 * @return java.sql.Timestamp 创建时间
	 */
	@Column(name = "createTime", nullable= true, length = 19)
	public java.sql.Timestamp getCreateTime() {
		return this.createTime;
	}

	/**
	 * 方法: 设置创建时间
	 *
	 * @param createTime 创建时间
	 */
	public void setCreateTime(java.sql.Timestamp createTime) {
		this.createTime = createTime;
	}

	/**
	 * 方法: 取得修改时间
	 *
	 * @return java.sql.Timestamp 修改时间
	 */
	@Column(name = "updateTime", nullable= true, length = 19)
	public java.sql.Timestamp getUpdateTime() {
		return this.updateTime;
	}

	/**
	 * 方法: 设置修改时间
	 *
	 * @param updateTime 修改时间
	 */
	public void setUpdateTime(java.sql.Timestamp updateTime) {
		this.updateTime = updateTime;
	}

	/**
	 * 方法: 取得1 未发布 2已发布
	 *
	 * @return java.lang.Integer 1 未发布 2已发布
	 */
	@Column(name = "issue", nullable= true, length = 1)
	public Integer getIssue() {
		return this.issue;
	}

	/**
	 * 方法: 设置1 未发布 2已发布
	 *
	 * @param issue 1 未发布 2已发布
	 */
	public void setIssue(Integer issue) {
		this.issue = issue;
	}

	/**
	 * 方法: 取得创建人
	 *
	 * @return java.lang.String 创建人
	 */
	@Column(name = "adminUserId", nullable= true, length = 32)
	public String getAdminUserId() {
		return this.adminUserId;
	}

	/**
	 * 方法: 设置创建人
	 *
	 * @param adminUserId 创建人
	 */
	public void setAdminUserId(String adminUserId) {
		this.adminUserId = adminUserId;
	}

	/**
	 * 方法: 取得接收对象 (1家长, 2员工3 全部)
	 *
	 * @return java.lang.Integer 接收对象 (1家长, 2员工3 全部)
	 */
	@Column(name = "acceptObject", nullable= true, length = 11)
	public Integer getAcceptObject() {
		return this.acceptObject;
	}

	/**
	 * 方法: 设置接收对象 (1家长, 2员工3 全部)
	 *
	 * @param acceptObject 接收对象 (1家长, 2员工3 全部)
	 */
	public void setAcceptObject(Integer acceptObject) {
		this.acceptObject = acceptObject;
	}

	/**
	 * 方法: 取得版本
	 *
	 * @return java.lang.Integer 版本
	 */
    @Version
	@Column(name = "version", nullable= true, length = 11)
	public Integer getVersion() {
		return this.version;
	}

	/**
	 * 方法: 设置版本
	 *
	 * @param version 版本
	 */
	public void setVersion(Integer version) {
		this.version = version;
	}
}